home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / msconf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  13.3 KB  |  435 lines

  1. /* Copyright (c) 1995-1996, Microsoft Corporation, all rights reserved
  2. **
  3. ** msconf.h
  4. **
  5. ** Microsoft NetMeeting API
  6. ** Version 1.0.
  7. **
  8. ** Public header for external API clients
  9. */
  10.  
  11. #ifndef _MSCONF_H_
  12. #define _MSCONF_H_
  13. #pragma option push -b
  14.  
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20.  
  21. #include <pshpack4.h>
  22.  
  23.  
  24. #define CONF_VERSION            0x0002
  25.  
  26.  
  27. // String constants
  28. #define CONF_MAX_USERNAME       128
  29. #define CONF_MAX_CONFERENCENAME 128
  30.  
  31.  
  32. /* Error constants
  33. */
  34.  
  35. #define CONFERR_BASE                   0x09000L
  36.  
  37. #define CONFERR_INVALID_PARAMETER      (CONFERR_BASE + 1)
  38. #define CONFERR_INVALID_HCONF          (CONFERR_BASE + 2)
  39. #define CONFERR_INVALID_BUFFER         (CONFERR_BASE + 3)
  40. #define CONFERR_BUFFER_TOO_SMALL       (CONFERR_BASE + 4)
  41. #define CONFERR_ENUM_COMPLETE          (CONFERR_BASE + 5)
  42. #define CONFERR_INVALID_OPERATION      (CONFERR_BASE + 6)
  43. #define CONFERR_INVALID_ADDRESS        (CONFERR_BASE + 7)
  44.  
  45. // File Transfer error codes
  46. #define CONFERR_FILE_TRANSFER          (CONFERR_BASE + 10)
  47. #define CONFERR_FILE_SEND_ABORT        (CONFERR_BASE + 11)
  48. #define CONFERR_FILE_RECEIVE_ABORT     (CONFERR_BASE + 12)
  49.  
  50. // Application sharing
  51. #define CONFERR_NO_APP_SHARING         (CONFERR_BASE + 20)
  52. #define CONFERR_NOT_SHARED             (CONFERR_BASE + 21)
  53. #define CONFERR_NOT_SHAREABLE          (CONFERR_BASE + 22)
  54. #define CONFERR_ALREADY_SHARED         (CONFERR_BASE + 23)
  55.  
  56.  
  57. // Overloaded Error Codes
  58. #define CONFERR_OUT_OF_MEMORY          ERROR_NOT_ENOUGH_MEMORY
  59. #define CONFERR_FILE_NOT_FOUND         ERROR_FILE_NOT_FOUND
  60. #define CONFERR_PATH_NOT_FOUND         ERROR_PATH_NOT_FOUND
  61. #define CONFERR_ACCESS_DENIED          ERROR_ACCESS_DENIED
  62. #define CONFERR_RECEIVE_DIR            ERROR_DISK_FULL
  63. #define CONFERR_NOT_IMPLEMENTED        ERROR_CALL_NOT_IMPLEMENTED
  64. #define CONFERR_INVALID_HWND           ERROR_INVALID_WINDOW_HANDLE
  65.  
  66. #define CONFERR_INTERNAL               (CONFERR_BASE + 99)
  67. #define CONFERR_SUCCESS                0  /* ERROR_SUCCESS */
  68.  
  69. typedef DWORD CONFERR;
  70.  
  71.  
  72. /* Main conferencing identifier
  73. */
  74. typedef HANDLE HCONF;
  75.  
  76.  
  77. /* Notification Callback identifier
  78. */
  79. typedef HANDLE HCONFNOTIFY;
  80.  
  81.  
  82. /* Notification Callback
  83. */
  84. typedef LONG (CALLBACK* CONFNOTIFYPROC)(HCONF, DWORD, DWORD, LPVOID, LPVOID, DWORD);
  85.  
  86.  
  87.  
  88. /* Describes a conference connection address
  89. */
  90. #ifndef ANSI_ONLY
  91. typedef struct _CONFADDRW {
  92.     DWORD dwSize;                // size of this structure, in bytes
  93.     DWORD dwAddrType;            // type of address that follows
  94.     union {
  95.         DWORD dwIp;              // IP Address (a.b.c.d)
  96.         LPCWSTR psz;             // pointer to a null terminated string
  97.         };
  98. } CONFADDRW, *LPCONFADDRW;
  99. #endif //!ANSI_ONLY
  100. #ifndef UNICODE_ONLY
  101. typedef struct _CONFADDRA {
  102.     DWORD dwSize;                // size of this structure, in bytes
  103.     DWORD dwAddrType;            // type of address that follows
  104.     union {
  105.         DWORD dwIp;              // IP Address (a.b.c.d)
  106.         LPCSTR psz;              // pointer to a null terminated string
  107.         };
  108. } CONFADDRA, *LPCONFADDRA;
  109. #endif //!UNICODE_ONLY
  110. #ifdef UNICODE
  111. typedef CONFADDRW CONFADDR;
  112. typedef LPCONFADDRW LPCONFADDR;
  113. #else
  114. typedef CONFADDRA CONFADDR;
  115. typedef LPCONFADDRA LPCONFADDR;
  116. #endif // UNICODE
  117.  
  118. // CONFADDR dwAddrType values
  119. #define CONF_ADDR_UNKNOWN      0x0000 // address type is not known
  120. #define CONF_ADDR_IP           0x0001 // use dwIp as a binary IP address
  121. #define CONF_ADDR_MACHINENAME  0x0002 // use sz as a local machine name
  122. #define CONF_ADDR_PSTN         0x0003 // use sz as a TAPI canonical telephone number
  123.  
  124.  
  125. /* Describes a destination within a conference
  126. */
  127. typedef struct tagConfDest {
  128.     DWORD dwSize;                   // size of this structure, in bytes
  129.     DWORD dwFlags;                  // destination flags (CONF_DF_xxx)
  130.     DWORD dwUserId;                 // unique user identifier
  131.     DWORD dwReserved;               // reserved
  132.     GUID  guid;                     // globally unique application identifier
  133. } CONFDEST;
  134. typedef CONFDEST * LPCONFDEST;
  135.  
  136. // CONFDEST dwFlags
  137. #define CONF_DF_BROADCAST           0x0100 // data was broadcast to everyone
  138. #define CONF_DF_PRIVATE             0x0200 // data was sent privately
  139. #define CONF_DF_DATA_SEGMENT_BEGIN  0x0400 // start of data block
  140. #define CONF_DF_DATA_SEGMENT_END    0x0800 // end of data block
  141.  
  142.  
  143. /* Describes the conference settings
  144. */
  145. #ifndef ANSI_ONLY
  146. typedef struct _CONFINFOW {
  147.     DWORD dwSize;
  148.     HCONF hConf;
  149.     DWORD dwMediaType;
  150.     DWORD dwState;
  151.     DWORD cUsers;
  152.     DWORD dwGCCID;
  153.     WCHAR szConferenceName[CONF_MAX_CONFERENCENAME];
  154. } CONFINFOW, * LPCONFINFOW;
  155. #endif //!ANSI_ONLY
  156. #ifndef UNICODE_ONLY
  157. typedef struct _CONFINFOA {
  158.     DWORD dwSize;
  159.     HCONF hConf;
  160.     DWORD dwMediaType;
  161.     DWORD dwState;
  162.     DWORD cUsers;
  163.     DWORD dwGCCID;
  164.     CHAR  szConferenceName[CONF_MAX_CONFERENCENAME];
  165. } CONFINFOA, * LPCONFINFOA;
  166. #endif //!UNICODE_ONLY
  167. #ifdef UNICODE
  168. typedef CONFINFOW CONFINFO;
  169. typedef LPCONFINFOW LPCONFINFO;
  170. #else
  171. typedef CONFINFOA CONFINFO;
  172. typedef LPCONFINFOA LPCONFINFO;
  173. #endif // UNICODE
  174.  
  175. // CONFINFO dwMediaType
  176. #define CONF_MT_DATA          0x0001
  177. #define CONF_MT_AUDIO         0x0002
  178. #define CONF_MT_VIDEO         0x0004
  179. #define CONF_MT_ALL           0x00FF
  180.  
  181. // CONFINFO dwState
  182. #define CONF_CS_INVALID       0x0000
  183. #define CONF_CS_INITIALIZING  0x0001
  184. #define CONF_CS_ACTIVE        0x0002
  185. #define CONF_CS_STOPPING      0x0003
  186.  
  187.  
  188. /* Describes a user within a conference
  189. */
  190. #ifndef ANSI_ONLY
  191. typedef struct _CONFUSERINFOW {
  192.     DWORD dwSize;
  193.     DWORD dwUserId;
  194.     DWORD dwFlags;
  195.     DWORD dwReserved;
  196.     WCHAR szUserName[CONF_MAX_USERNAME];
  197. } CONFUSERINFOW, *LPCONFUSERINFOW;
  198. #endif //!ANSI_ONLY
  199. #ifndef UNICODE_ONLY
  200. typedef struct _CONFUSERINFOA {
  201.     DWORD dwSize;
  202.     DWORD dwUserId;
  203.     DWORD dwFlags;
  204.     DWORD dwReserved;
  205.     CHAR  szUserName[CONF_MAX_USERNAME];
  206. } CONFUSERINFOA, *LPCONFUSERINFOA;
  207. #endif //!UNICODE_ONLY
  208. #ifdef UNICODE
  209. typedef CONFUSERINFOW CONFUSERINFO;
  210. typedef LPCONFUSERINFOW LPCONFUSERINFO;
  211. #else
  212. typedef CONFUSERINFOA CONFUSERINFO;
  213. typedef LPCONFUSERINFOA LPCONFUSERINFO;
  214. #endif // UNICODE
  215.  
  216. // CONFINFO dwFlags
  217. #define CONF_UF_DATA       0x00000001
  218. #define CONF_UF_AUDIO      0x00000002
  219. #define CONF_UF_VIDEO      0x00000004
  220.  
  221. #define CONF_UF_LOCAL      0x00010000
  222.  
  223.  
  224. /* Describes the default receive directory for transferred files
  225. */
  226. #ifndef ANSI_ONLY
  227. typedef struct _CONFRECDIRW {
  228.     DWORD dwSize;
  229.     WCHAR szRecDir[MAX_PATH];
  230. } CONFRECDIRW, *LPCONFRECDIRW;
  231. #endif //!ANSI_ONLY
  232. #ifndef UNICODE_ONLY
  233. typedef struct _CONFRECDIRA {
  234.     DWORD dwSize;
  235.     CHAR  szRecDir[MAX_PATH];
  236. } CONFRECDIRA, *LPCONFRECDIRA;
  237. #endif //!UNICODE_ONLY
  238. #ifdef UNICODE
  239. typedef CONFRECDIRW CONFRECDIR;
  240. typedef LPCONFRECDIRW LPCONFRECDIR;
  241. #else
  242. typedef CONFRECDIRA CONFRECDIR;
  243. typedef LPCONFRECDIRA LPCONFRECDIR;
  244. #endif // UNICODE
  245.  
  246.  
  247. /* Describes the notification callback
  248. */
  249. typedef struct _CONFNOTIFY {
  250.     DWORD dwSize;
  251.     DWORD dwUser;
  252.     DWORD dwFlags;
  253.     GUID  guid;
  254.     CONFNOTIFYPROC pfnNotifyProc;
  255. } CONFNOTIFY;
  256. typedef CONFNOTIFY * LPCONFNOTIFY;
  257.  
  258.  
  259. /* Describes an application to be launched
  260. */
  261. #ifndef ANSI_ONLY
  262. typedef struct _CONFGUIDW {
  263.     DWORD   dwSize;
  264.     GUID    guid;
  265.     LPCWSTR pszApplication;
  266.     LPCWSTR pszCommandLine;
  267.     LPCWSTR pszDirectory;
  268. } CONFGUIDW, *LPCONFGUIDW;
  269. #endif //!ANSI_ONLY
  270. #ifndef UNICODE_ONLY
  271. typedef struct _CONFGUIDA {
  272.     DWORD   dwSize;
  273.     GUID    guid;
  274.     LPCSTR  pszApplication;
  275.     LPCSTR  pszCommandLine;
  276.     LPCSTR  pszDirectory;
  277. } CONFGUIDA, *LPCONFGUIDA;
  278. #endif //!UNICODE_ONLY
  279. #ifdef UNICODE
  280. typedef CONFGUIDW CONFGUID;
  281. typedef LPCONFGUIDW LPCONFGUID;
  282. #else
  283. typedef CONFGUIDA CONFGUID;
  284. typedef LPCONFGUIDA LPCONFGUID;
  285. #endif // UNICODE
  286.  
  287.  
  288. /* Describes a file in the process of being transferred
  289. */
  290. #ifndef ANSI_ONLY
  291. typedef struct _CONFFILEINFOW {
  292.     DWORD dwSize;
  293.     DWORD dwFileId;
  294.     DWORD dwReserved1;
  295.     DWORD dwFileSize;
  296.     DWORD dwReserved2;
  297.     DWORD dwBytesTransferred;
  298.     DWORD dwFileAttributes;
  299.     FILETIME ftCreationTime;
  300.     FILETIME ftLastAccessTime;
  301.     FILETIME ftLastWriteTime;
  302.     WCHAR szFileNameSrc[MAX_PATH];
  303.     WCHAR szFileNameDest[MAX_PATH];
  304. } CONFFILEINFOW, * LPCONFFILEINFOW;
  305. #endif //!ANSI_ONLY
  306. #ifndef UNICODE_ONLY
  307. typedef struct _CONFFILEINFOA {
  308.     DWORD dwSize;
  309.     DWORD dwFileId;
  310.     DWORD dwReserved1;
  311.     DWORD dwFileSize;
  312.     DWORD dwReserved2;
  313.     DWORD dwBytesTransferred;
  314.     DWORD dwFileAttributes;
  315.     FILETIME ftCreationTime;
  316.     FILETIME ftLastAccessTime;
  317.     FILETIME ftLastWriteTime;
  318.     CHAR  szFileNameSrc[MAX_PATH];
  319.     CHAR  szFileNameDest[MAX_PATH];
  320. } CONFFILEINFOA, * LPCONFFILEINFOA;
  321. #endif //!UNICODE_ONLY
  322. #ifdef UNICODE
  323. typedef CONFFILEINFOW CONFFILEINFO;
  324. typedef LPCONFFILEINFOW LPCONFFILEINFO;
  325. #else
  326. typedef CONFFILEINFOA CONFFILEINFO;
  327. typedef LPCONFFILEINFOA LPCONFFILEINFO;
  328. #endif // UNICODE
  329.  
  330.  
  331.  
  332. /* ConferenceGetInfo dwCode
  333. */
  334. #define CONF_GET_CONF                0x0001 // LPCONFINFO
  335. #define CONF_ENUM_CONF               0x0002 // LPCONFINFO
  336. #define CONF_GET_USER                0x0011 // LPCONFUSERINFO
  337. #define CONF_ENUM_USER               0x0012 // LPCONFUSERINFO
  338. #define CONF_ENUM_PEER               0x0018 // LPCONFDEST
  339. #define CONF_GET_RECDIR              0x0020 // LPCONFRECDIR
  340. #define CONF_GET_FILEINFO            0x0021 // LPCONFFILEINFO
  341.  
  342.  
  343. /* ConferenceSetInfo dwCode
  344. */
  345. #define CONF_SET_RECDIR              0x1020 // LPCONFRECDIR
  346. #define CONF_SET_GUID                0x1041 // LPCONFGUID
  347.  
  348.  
  349. /* ConferenceSendFile dwFlags
  350. */
  351. #define CONF_SF_NOWAIT               0x0001
  352. #define CONF_SF_NOUI                 0x0002
  353. #define CONF_SF_NOCOMPRESS           0x0004
  354.  
  355.  
  356. /* ConferenceShareWindow dwCode
  357. */
  358. #define CONF_SW_SHARE                0x0001
  359. #define CONF_SW_UNSHARE              0x0002
  360. #define CONF_SW_SHAREABLE            0x0003
  361. #define CONF_SW_IS_SHARED            0x0004
  362.  
  363.  
  364. /* Notification Codes
  365. */
  366. #define CONFN_CONFERENCE_INIT        0x0001 // 0,        LPCONFADDR, LPCONFINFO
  367. #define CONFN_CONFERENCE_START       0x0002 // 0,        LPCONFADDR, LPCONFINFO
  368. #define CONFN_CONFERENCE_STOP        0x0003 // 0,        LPCONFADDR, LPCONFINFO
  369. #define CONFN_CONFERENCE_ERROR       0x0004 // 0,        LPCONFADDR, LPCONFINFO
  370. #define CONFN_USER_ADDED             0x0011 // dwUserId, LPCONFADDR, LPCONFINFO
  371. #define CONFN_USER_REMOVED           0x0012 // dwUserId, LPCONFADDR, LPCONFINFO
  372. #define CONFN_USER_UPDATE            0x0013 // dwUserId, LPCONFADDR, LPCONFINFO
  373. #define CONFN_PEER_ADDED             0x0021 // dwUserId, LPCONFDEST, 0
  374. #define CONFN_PEER_REMOVED           0x0022 // dwUserId, LPCONFDEST, 0
  375. #define CONFN_WINDOW_SHARED          0x0041 // HWND,     0         , 0
  376. #define CONFN_WINDOW_UNSHARED        0x0042 // HWND,     0         , 0
  377. #define CONFN_DATA_SENT              0x0101 // DWORD,    LPCONFDEST, LPVOID
  378. #define CONFN_DATA_RECEIVED          0x0102 // DWORD,    LPCONFDEST, LPVOID
  379. #define CONFN_FILESEND_START         0x0111 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  380. #define CONFN_FILESEND_PROGRESS      0x0112 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  381. #define CONFN_FILESEND_COMPLETE      0x0113 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  382. #define CONFN_FILESEND_ERROR         0x0114 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  383. #define CONFN_FILERECEIVE_START      0x0121 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  384. #define CONFN_FILERECEIVE_PROGRESS   0x0122 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  385. #define CONFN_FILERECEIVE_COMPLETE   0x0123 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  386. #define CONFN_FILERECEIVE_ERROR      0x0124 // dwFileId, LPCONFDEST, LPCONFFILEINFO
  387.  
  388.  
  389. /* Conferencing functions found in MSCONF.DLL
  390. */
  391.  
  392. #ifndef ANSI_ONLY
  393. DWORD WINAPI ConferenceConnectW(HCONF * phConf, LPCONFADDRW lpConfAddr, LPCONFINFO lpConfInfo, LPCONFNOTIFY lpConfNotify);
  394. DWORD WINAPI ConferenceSendFileW(HCONF hConf, LPCONFDEST lpConfDest, LPCWSTR szFileName, DWORD dwFlags);
  395. DWORD WINAPI ConferenceGetInfoW(HCONF hConf, DWORD dwCode, LPVOID lpv);
  396. DWORD WINAPI ConferenceSetInfoW(HCONF hConf, DWORD dwCode, LPVOID lpv);
  397. #endif //!ANSI_ONLY
  398. #ifndef UNICODE_ONLY
  399. DWORD WINAPI ConferenceConnectA(HCONF * phConf, LPCONFADDRA lpConfAddr, LPCONFINFO lpConfInfo, LPCONFNOTIFY lpConfNotify);
  400. DWORD WINAPI ConferenceSendFileA(HCONF hConf, LPCONFDEST lpConfDest, LPCSTR szFileName, DWORD dwFlags);
  401. DWORD WINAPI ConferenceGetInfoA(HCONF hConf, DWORD dwCode, LPVOID lpv);
  402. DWORD WINAPI ConferenceSetInfoA(HCONF hConf, DWORD dwCode, LPVOID lpv);
  403. #endif //!UNICODE_ONLY
  404. #ifdef UNICODE
  405. #define ConferenceConnect  ConferenceConnectW
  406. #define ConferenceGetInfo  ConferenceGetInfoW
  407. #define ConferenceSetInfo  ConferenceSetInfoW
  408. #define ConferenceSendFile ConferenceSendFileW
  409. #else
  410. #define ConferenceConnect  ConferenceConnectA
  411. #define ConferenceGetInfo  ConferenceGetInfoA
  412. #define ConferenceSetInfo  ConferenceSetInfoA
  413. #define ConferenceSendFile ConferenceSendFileA
  414. #endif // !UNICODE
  415.  
  416. DWORD WINAPI ConferenceListen(DWORD dwReserved);
  417. DWORD WINAPI ConferenceDisconnect(HCONF hConf);
  418. DWORD WINAPI ConferenceSetNotify(HCONF hConf, LPCONFNOTIFY lpConfNotify, HCONFNOTIFY * phConfNotify);
  419. DWORD WINAPI ConferenceRemoveNotify(HCONF hConf, HCONFNOTIFY hConfNotify);
  420. DWORD WINAPI ConferenceCancelTransfer(HCONF hConf, DWORD dwFileId);
  421. DWORD WINAPI ConferenceSendData(HCONF hConf, LPCONFDEST lpConfDest, LPVOID lpv, DWORD cb, DWORD dwFlags);
  422. DWORD WINAPI ConferenceLaunchRemote(HCONF hConf, LPCONFDEST lpConfDest, DWORD dwReserved);
  423. DWORD WINAPI ConferenceShareWindow(HCONF hConf, HWND hwnd, DWORD dwCode);
  424.  
  425.  
  426. #include <poppack.h>
  427.  
  428.  
  429. #ifdef __cplusplus
  430. }
  431. #endif
  432.  
  433. #pragma option pop
  434. #endif // _MSCONF_H_
  435.